package com.xayy.health.mgt.service;

import cn.kawins.base.result.CheckResult;
import cn.kawins.mybatis.BaseService;
import com.xayy.health.mgt.model.AssessParma;

import java.util.List;
import java.util.Map;

/**
 * @author Nie
 * @version v1.0
 * @date 2022-05-31 14:12
 */
public interface AssessParmaService extends BaseService<AssessParma> {

    /**
     * 新增配置管理健康评估模型
     * @param assessParma  入参
     * @return 结果日志
     */
    CheckResult<Object> insertAssessParma(AssessParma assessParma,Boolean isDefault);

    /**
     * 删除配置管理健康评估模型
     * @param id 健康评估管理id
     * @return 结果日志
     */
    CheckResult<Object> deleteAssessParma(Long id);

    /**
     * 修改配置管理健康评估模型
     * @param assessParma 入参
     * @return 结果日志
     */
    CheckResult<Object> updateAssessParma(AssessParma assessParma,Boolean isDefault);

    /**
     * 根据卫星id，分系统id，设备id获取部件健康评估模型列表
     * @param map 入参
     * @return 评估模型列表
     */
    @SuppressWarnings("unused")
    List<AssessParma> selectAssessParma(Map<String, Object> map);

    /**
     * 查询健康评估模型信息
     * @param mid 健康评估模型id
     * @return 结果日志
     */
    CheckResult<Object> selectAssessModel(Long mid);

    /**
     * 性能评分获取部件评估模型列表
     * @param satId 卫星id
     * @param nodeId 节点id
     * @return CheckResult<List < AssessParma>>
     */
    CheckResult<List<AssessParma>> getAssessParmaListBySat(Long satId,Long systemId, Long nodeId);

    /**
     * 根据卫星id获取健康评估模型列表
     * @param satId 卫星id
     * @return CheckResult<List < AssessParma>>
     */
    CheckResult<Object> selectAssessParmaBySat(Long satId);

    CheckResult<Object> checkAssessParma(AssessParma assessParma);
}
